import 'dart:io';

import 'dart:convert';

/// 使用Stream读取文件，一次读取一点。
/// 可以使用Stream API或await for。
Future<void> main() async {
  var config = File('config.txt');

  Stream<List<int>> inputStream = config.openRead();

  var lines = utf8.decoder.bind(inputStream).transform(const LineSplitter());

  try {
    
    await for (final line in lines) {
      print('Got ${line.length} characters from stream');
    }

    print('file is now closed');
  } catch (e) {
    print(e);
  }
}
